﻿using System.ServiceModel;
using Maxleaf.EDI.API.Contract.Faults;
using Maxleaf.EDI.API.Contract.Client.Parameters;
using Maxleaf.EDI.API.Contract.Client.Commands;

namespace Maxleaf.EDI.API.Contract
{
    [ServiceContract]
    public interface IClientService
    {
        [OperationContract]
        [FaultContract(typeof(GeneralFault))]
        AuthenticateResult Authenticate(AuthenticateParameters parameters);

        [OperationContract]
        [FaultContract(typeof(GeneralFault))]
        GetUserDBsResult GetUserDBs(GetUserDBsParameters parameters);

        [OperationContract]
        [FaultContract(typeof(GeneralFault))]
        void ResetPassword(ResetPasswordCommand command);
    }
}
